/*
 *Clase Rectangulo
 *Atributos: base, altura, punto inicial(x,y)
 *Ejemplo instanciacion: 
 *Rectangulo rectangulo = new Rectangulo(lado,puntoInicial(x,y));
 */
package formas;
public class Rectangulo implements Dibujable {

	protected int base;
	protected int altura;
	protected Punto puntoInicial;

	public Rectangulo(int base, int altura, Punto puntoInicial) {
		this.base = base;
		this.altura = altura;
		this.puntoInicial = puntoInicial;
	}

	public int superficie(){
		return base*altura;
	}
	
	/* Accedemos a la base del rectangulo */
	public int getBase() {
		return this.base;
	}
	
	/* Accedemos a la altura del rectangulo */
	public int getAltura() {
		return this.altura;
	}

	/* Accedemos al punto inicial del rectangulo */
	public Punto getPuntoInicial() {
		return this.puntoInicial;
	}
	
	/* Accedemos al punto final del rectangulo */
	public Punto getPuntoFinal() {
		/*Calculamos el punto final a partir del punto inicial,la base y la altura */
		return puntoInicial.sumar(new Punto(this.getBase(), this.getAltura()));
	}
	

	/* Modificamos el valor del punto inicial */
	public void setPuntoInicial(Punto puntoInicial) {
		this.puntoInicial = puntoInicial;
	}
	
	/* Modificamos el valor de la base */
	public void setBase(int base){
		this.base=base;
	}
	
	/* Modificamos el valor de la altura */
	public void setAltura(int altura){
		this.altura=altura;
	}


	/* Verificamos si el punto a dibujar pertenece al perimetro de la figura */
	public boolean siEsta(Punto puntoADibujar) {		
		if(puntoInicial.getCordenadaX()<=puntoADibujar.getCordenadaX()&&
				puntoADibujar.getCordenadaX()<=(puntoInicial.getCordenadaX()+this.getBase()-1)){
			if(puntoInicial.getCordenadaY()<=puntoADibujar.getCordenadaY()&&
					puntoADibujar.getCordenadaY()<=(puntoInicial.getCordenadaY()+this.getAltura()-1)){
			return true;
			}
		}
		return false;
	}
}
